Within a Code Division Multiple Access (CDMA), and other communication system types, communicated information, either voice or data, is carried between communication resources, e.g., a radiotelephone and a base station, on a communication channel. Within broadband, spread spectrum communication systems, such as CDMA based communication systems in accordance with Interim Standard IS-95B, a spreading code is used to define the communication channel.
In addition to a primary channel, the communication channel may also include one or more secondary channels. The secondary channels provide an ability to increase bandwidth by permitting transmission of information within these secondary channels during transmission of data, e.g., coded voice or data, within the primary channel. The primary channel is used to carry, either at a full transmission rate or some sub-rate, data such as coded voice or data. When not carrying data, the primary channel carries an idle data pattern.
The secondary channels may carry virtually any form of data, including what is referred to as RLP data. However, the secondary channels do not always carry data. For example, according to the IS-95B standard for high-speed data services over CDMA cellular systems, a given call may concatenate up to 7 supplemental channels with the fundamental channel to transmit high bandwidth data. The supplemental channels are required by IS-95B to either transmit at full rate or to mute the transmitter. The problem is that when the supplemental channels are muted, the receiver has no way of knowing this and the receiver attempts to decode the air signals as if a full rate frame was sent. Muting the transmitter results in a random data pattern, and it is this random data pattern that the receiver attempts to decode. The frame CRC is intended to screen these decoded random data frames; however, the IS-95B frame CRC is only 12-bits. This means for random data, the frame CRC will pass a frame as valid on average once every 4096 muted frames.
Interim Standard IS-707A specifies the transmission of RLP data, but provides very little error checking of data frames received. When corrupt data frames are received by the RLP layer after falsely passing the frame CRC, the typical result is a reset of the RLP layer. This causes data loss and requests for retransmission by higher layer protocols. When the RLP layer receives the corrupt data frame, it will detect missing data frames from the currently expected sequence number up to the sequence number of the corrupt data frame and will request retransmission of these data frames from the peer RLP layer. Since the frames detected as missing by one RLP layer were never really sent by the peer RLP layer, the peer RLP layer cannot comply with the request. According to the IS-707A standard, the RLP layers need to resynchronize via the RLP reset procedure. In most cases, this will result in data loss to the higher layers, which produces the overall effect of degraded bandwidth. This can also affect triggering of the dormant timer for packet data since the retransmission requests and the RLP reset procedure appear as activity and reset the timer. Timer reset can cause calls that are effectively idle, to remain active and consume resources.
Thus, there is a need for a method and apparatus for providing RLP data checking in a communication system.